(0) Obligation:

Clauses:

rev([], []).
rev(.(X, XS), .(Y, YS)) :- ','(rev1(X, XS, Y), rev2(X, XS, YS)).
rev1(X, [], X).
rev1(X, .(Y, YS), Z) :- rev1(Y, YS, Z).
rev2(X, [], []).
rev2(X, .(Y, YS), ZS) :- ','(rev2(Y, YS, US), ','(rev(US, VS), rev(.(X, VS), ZS))).

Query: rev(g,a)

(1) PrologToDTProblemTransformerProof (SOUND transformation)

Built DT problem from termination graph DT10.

(2) Obligation:

Triples:

rev1A(X1, .(X2, X3), X4) :- rev1A(X2, X3, X4).
rev2B(X1, .(X2, X3), X4) :- rev2B(X2, X3, X5).
rev2B(X1, .(X2, X3), X4) :- ','(rev2cB(X2, X3, X5), revD(X5, X6)).
rev2B(X1, .(X2, X3), X4) :- ','(rev2cB(X2, X3, X5), ','(revcD(X5, X6), revC(.(X1, X6), X4))).
rev1E(X1, .(X2, X3), X4) :- rev1E(X2, X3, X4).
revD(.(X1, X2), .(X3, X4)) :- rev1E(X1, X2, X3).
revD(.(X1, X2), .(X3, X4)) :- ','(rev1cE(X1, X2, X3), rev2B(X1, X2, X4)).
revC(.(X1, .(X2, X3)), .(X4, X5)) :- rev1A(X2, X3, X4).
revC(.(X1, .(X2, X3)), .(X4, X5)) :- ','(rev1cA(X2, X3, X4), rev2B(X2, X3, X6)).
revC(.(X1, .(X2, X3)), .(X4, X5)) :- ','(rev1cA(X2, X3, X4), ','(rev2cB(X2, X3, X6), revD(X6, X7))).
revC(.(X1, .(X2, X3)), .(X4, X5)) :- ','(rev1cA(X2, X3, X4), ','(rev2cB(X2, X3, X6), ','(revcD(X6, X7), revC(.(X1, X7), X5)))).

Clauses:

rev1cA(X1, [], X1).
rev1cA(X1, .(X2, X3), X4) :- rev1cA(X2, X3, X4).
rev2cB(X1, [], []).
rev2cB(X1, .(X2, X3), X4) :- ','(rev2cB(X2, X3, X5), ','(revcD(X5, X6), revcC(.(X1, X6), X4))).
revcC([], []).
revcC(.(X1, []), .(X1, [])).
revcC(.(X1, .(X2, X3)), .(X4, X5)) :- ','(rev1cA(X2, X3, X4), ','(rev2cB(X2, X3, X6), ','(revcD(X6, X7), revcC(.(X1, X7), X5)))).
rev1cE(X1, [], X1).
rev1cE(X1, .(X2, X3), X4) :- rev1cE(X2, X3, X4).
revcD([], []).
revcD(.(X1, X2), .(X3, X4)) :- ','(rev1cE(X1, X2, X3), rev2cB(X1, X2, X4)).

Afs:

revC(x1, x2)  =  revC(x1)

(3) TriplesToPiDPProof (SOUND transformation)

We use the technique of [DT09]. With regard to the inferred argument filtering the predicates were used in the following modes:
revC_in: (b,f)
rev1A_in: (b,b,f)
rev1cA_in: (b,b,f)
rev2B_in: (b,b,f)
rev2cB_in: (b,b,f)
revcD_in: (b,f)
rev1cE_in: (b,b,f)
revcC_in: (b,f)
revD_in: (b,f)
rev1E_in: (b,b,f)
Transforming TRIPLES into the following Term Rewriting System:
Pi DP problem:
The TRS P consists of the following rules:

REVC_IN_GA(.(X1, .(X2, X3)), .(X4, X5)) → U11_GA(X1, X2, X3, X4, X5, rev1A_in_gga(X2, X3, X4))
REVC_IN_GA(.(X1, .(X2, X3)), .(X4, X5)) → REV1A_IN_GGA(X2, X3, X4)
REV1A_IN_GGA(X1, .(X2, X3), X4) → U1_GGA(X1, X2, X3, X4, rev1A_in_gga(X2, X3, X4))
REV1A_IN_GGA(X1, .(X2, X3), X4) → REV1A_IN_GGA(X2, X3, X4)
REVC_IN_GA(.(X1, .(X2, X3)), .(X4, X5)) → U12_GA(X1, X2, X3, X4, X5, rev1cA_in_gga(X2, X3, X4))
U12_GA(X1, X2, X3, X4, X5, rev1cA_out_gga(X2, X3, X4)) → U13_GA(X1, X2, X3, X4, X5, rev2B_in_gga(X2, X3, X6))
U12_GA(X1, X2, X3, X4, X5, rev1cA_out_gga(X2, X3, X4)) → REV2B_IN_GGA(X2, X3, X6)
REV2B_IN_GGA(X1, .(X2, X3), X4) → U2_GGA(X1, X2, X3, X4, rev2B_in_gga(X2, X3, X5))
REV2B_IN_GGA(X1, .(X2, X3), X4) → REV2B_IN_GGA(X2, X3, X5)
REV2B_IN_GGA(X1, .(X2, X3), X4) → U3_GGA(X1, X2, X3, X4, rev2cB_in_gga(X2, X3, X5))
U3_GGA(X1, X2, X3, X4, rev2cB_out_gga(X2, X3, X5)) → U4_GGA(X1, X2, X3, X4, revD_in_ga(X5, X6))
U3_GGA(X1, X2, X3, X4, rev2cB_out_gga(X2, X3, X5)) → REVD_IN_GA(X5, X6)
REVD_IN_GA(.(X1, X2), .(X3, X4)) → U8_GA(X1, X2, X3, X4, rev1E_in_gga(X1, X2, X3))
REVD_IN_GA(.(X1, X2), .(X3, X4)) → REV1E_IN_GGA(X1, X2, X3)
REV1E_IN_GGA(X1, .(X2, X3), X4) → U7_GGA(X1, X2, X3, X4, rev1E_in_gga(X2, X3, X4))
REV1E_IN_GGA(X1, .(X2, X3), X4) → REV1E_IN_GGA(X2, X3, X4)
REVD_IN_GA(.(X1, X2), .(X3, X4)) → U9_GA(X1, X2, X3, X4, rev1cE_in_gga(X1, X2, X3))
U9_GA(X1, X2, X3, X4, rev1cE_out_gga(X1, X2, X3)) → U10_GA(X1, X2, X3, X4, rev2B_in_gga(X1, X2, X4))
U9_GA(X1, X2, X3, X4, rev1cE_out_gga(X1, X2, X3)) → REV2B_IN_GGA(X1, X2, X4)
U3_GGA(X1, X2, X3, X4, rev2cB_out_gga(X2, X3, X5)) → U5_GGA(X1, X2, X3, X4, revcD_in_ga(X5, X6))
U5_GGA(X1, X2, X3, X4, revcD_out_ga(X5, X6)) → U6_GGA(X1, X2, X3, X4, revC_in_ga(.(X1, X6), X4))
U5_GGA(X1, X2, X3, X4, revcD_out_ga(X5, X6)) → REVC_IN_GA(.(X1, X6), X4)
U12_GA(X1, X2, X3, X4, X5, rev1cA_out_gga(X2, X3, X4)) → U14_GA(X1, X2, X3, X4, X5, rev2cB_in_gga(X2, X3, X6))
U14_GA(X1, X2, X3, X4, X5, rev2cB_out_gga(X2, X3, X6)) → U15_GA(X1, X2, X3, X4, X5, revD_in_ga(X6, X7))
U14_GA(X1, X2, X3, X4, X5, rev2cB_out_gga(X2, X3, X6)) → REVD_IN_GA(X6, X7)
U14_GA(X1, X2, X3, X4, X5, rev2cB_out_gga(X2, X3, X6)) → U16_GA(X1, X2, X3, X4, X5, revcD_in_ga(X6, X7))
U16_GA(X1, X2, X3, X4, X5, revcD_out_ga(X6, X7)) → U17_GA(X1, X2, X3, X4, X5, revC_in_ga(.(X1, X7), X5))
U16_GA(X1, X2, X3, X4, X5, revcD_out_ga(X6, X7)) → REVC_IN_GA(.(X1, X7), X5)

The TRS R consists of the following rules:

rev1cA_in_gga(X1, [], X1) → rev1cA_out_gga(X1, [], X1)
rev1cA_in_gga(X1, .(X2, X3), X4) → U19_gga(X1, X2, X3, X4, rev1cA_in_gga(X2, X3, X4))
U19_gga(X1, X2, X3, X4, rev1cA_out_gga(X2, X3, X4)) → rev1cA_out_gga(X1, .(X2, X3), X4)
rev2cB_in_gga(X1, [], []) → rev2cB_out_gga(X1, [], [])
rev2cB_in_gga(X1, .(X2, X3), X4) → U20_gga(X1, X2, X3, X4, rev2cB_in_gga(X2, X3, X5))
U20_gga(X1, X2, X3, X4, rev2cB_out_gga(X2, X3, X5)) → U21_gga(X1, X2, X3, X4, revcD_in_ga(X5, X6))
revcD_in_ga([], []) → revcD_out_ga([], [])
revcD_in_ga(.(X1, X2), .(X3, X4)) → U28_ga(X1, X2, X3, X4, rev1cE_in_gga(X1, X2, X3))
rev1cE_in_gga(X1, [], X1) → rev1cE_out_gga(X1, [], X1)
rev1cE_in_gga(X1, .(X2, X3), X4) → U27_gga(X1, X2, X3, X4, rev1cE_in_gga(X2, X3, X4))
U27_gga(X1, X2, X3, X4, rev1cE_out_gga(X2, X3, X4)) → rev1cE_out_gga(X1, .(X2, X3), X4)
U28_ga(X1, X2, X3, X4, rev1cE_out_gga(X1, X2, X3)) → U29_ga(X1, X2, X3, X4, rev2cB_in_gga(X1, X2, X4))
U29_ga(X1, X2, X3, X4, rev2cB_out_gga(X1, X2, X4)) → revcD_out_ga(.(X1, X2), .(X3, X4))
U21_gga(X1, X2, X3, X4, revcD_out_ga(X5, X6)) → U22_gga(X1, X2, X3, X4, revcC_in_ga(.(X1, X6), X4))
revcC_in_ga([], []) → revcC_out_ga([], [])
revcC_in_ga(.(X1, []), .(X1, [])) → revcC_out_ga(.(X1, []), .(X1, []))
revcC_in_ga(.(X1, .(X2, X3)), .(X4, X5)) → U23_ga(X1, X2, X3, X4, X5, rev1cA_in_gga(X2, X3, X4))
U23_ga(X1, X2, X3, X4, X5, rev1cA_out_gga(X2, X3, X4)) → U24_ga(X1, X2, X3, X4, X5, rev2cB_in_gga(X2, X3, X6))
U24_ga(X1, X2, X3, X4, X5, rev2cB_out_gga(X2, X3, X6)) → U25_ga(X1, X2, X3, X4, X5, revcD_in_ga(X6, X7))
U25_ga(X1, X2, X3, X4, X5, revcD_out_ga(X6, X7)) → U26_ga(X1, X2, X3, X4, X5, revcC_in_ga(.(X1, X7), X5))
U26_ga(X1, X2, X3, X4, X5, revcC_out_ga(.(X1, X7), X5)) → revcC_out_ga(.(X1, .(X2, X3)), .(X4, X5))
U22_gga(X1, X2, X3, X4, revcC_out_ga(.(X1, X6), X4)) → rev2cB_out_gga(X1, .(X2, X3), X4)

The argument filtering Pi contains the following mapping:
revC_in_ga(x1, x2)  =  revC_in_ga(x1)
.(x1, x2)  =  .(x1, x2)
rev1A_in_gga(x1, x2, x3)  =  rev1A_in_gga(x1, x2)
rev1cA_in_gga(x1, x2, x3)  =  rev1cA_in_gga(x1, x2)
[]  =  []
rev1cA_out_gga(x1, x2, x3)  =  rev1cA_out_gga(x1, x2, x3)
U19_gga(x1, x2, x3, x4, x5)  =  U19_gga(x1, x2, x3, x5)
rev2B_in_gga(x1, x2, x3)  =  rev2B_in_gga(x1, x2)
rev2cB_in_gga(x1, x2, x3)  =  rev2cB_in_gga(x1, x2)
rev2cB_out_gga(x1, x2, x3)  =  rev2cB_out_gga(x1, x2, x3)
U20_gga(x1, x2, x3, x4, x5)  =  U20_gga(x1, x2, x3, x5)
U21_gga(x1, x2, x3, x4, x5)  =  U21_gga(x1, x2, x3, x5)
revcD_in_ga(x1, x2)  =  revcD_in_ga(x1)
revcD_out_ga(x1, x2)  =  revcD_out_ga(x1, x2)
U28_ga(x1, x2, x3, x4, x5)  =  U28_ga(x1, x2, x5)
rev1cE_in_gga(x1, x2, x3)  =  rev1cE_in_gga(x1, x2)
rev1cE_out_gga(x1, x2, x3)  =  rev1cE_out_gga(x1, x2, x3)
U27_gga(x1, x2, x3, x4, x5)  =  U27_gga(x1, x2, x3, x5)
U29_ga(x1, x2, x3, x4, x5)  =  U29_ga(x1, x2, x3, x5)
U22_gga(x1, x2, x3, x4, x5)  =  U22_gga(x1, x2, x3, x5)
revcC_in_ga(x1, x2)  =  revcC_in_ga(x1)
revcC_out_ga(x1, x2)  =  revcC_out_ga(x1, x2)
U23_ga(x1, x2, x3, x4, x5, x6)  =  U23_ga(x1, x2, x3, x6)
U24_ga(x1, x2, x3, x4, x5, x6)  =  U24_ga(x1, x2, x3, x4, x6)
U25_ga(x1, x2, x3, x4, x5, x6)  =  U25_ga(x1, x2, x3, x4, x6)
U26_ga(x1, x2, x3, x4, x5, x6)  =  U26_ga(x1, x2, x3, x4, x6)
revD_in_ga(x1, x2)  =  revD_in_ga(x1)
rev1E_in_gga(x1, x2, x3)  =  rev1E_in_gga(x1, x2)
REVC_IN_GA(x1, x2)  =  REVC_IN_GA(x1)
U11_GA(x1, x2, x3, x4, x5, x6)  =  U11_GA(x1, x2, x3, x6)
REV1A_IN_GGA(x1, x2, x3)  =  REV1A_IN_GGA(x1, x2)
U1_GGA(x1, x2, x3, x4, x5)  =  U1_GGA(x1, x2, x3, x5)
U12_GA(x1, x2, x3, x4, x5, x6)  =  U12_GA(x1, x2, x3, x6)
U13_GA(x1, x2, x3, x4, x5, x6)  =  U13_GA(x1, x2, x3, x6)
REV2B_IN_GGA(x1, x2, x3)  =  REV2B_IN_GGA(x1, x2)
U2_GGA(x1, x2, x3, x4, x5)  =  U2_GGA(x1, x2, x3, x5)
U3_GGA(x1, x2, x3, x4, x5)  =  U3_GGA(x1, x2, x3, x5)
U4_GGA(x1, x2, x3, x4, x5)  =  U4_GGA(x1, x2, x3, x5)
REVD_IN_GA(x1, x2)  =  REVD_IN_GA(x1)
U8_GA(x1, x2, x3, x4, x5)  =  U8_GA(x1, x2, x5)
REV1E_IN_GGA(x1, x2, x3)  =  REV1E_IN_GGA(x1, x2)
U7_GGA(x1, x2, x3, x4, x5)  =  U7_GGA(x1, x2, x3, x5)
U9_GA(x1, x2, x3, x4, x5)  =  U9_GA(x1, x2, x5)
U10_GA(x1, x2, x3, x4, x5)  =  U10_GA(x1, x2, x5)
U5_GGA(x1, x2, x3, x4, x5)  =  U5_GGA(x1, x2, x3, x5)
U6_GGA(x1, x2, x3, x4, x5)  =  U6_GGA(x1, x2, x3, x5)
U14_GA(x1, x2, x3, x4, x5, x6)  =  U14_GA(x1, x2, x3, x6)
U15_GA(x1, x2, x3, x4, x5, x6)  =  U15_GA(x1, x2, x3, x6)
U16_GA(x1, x2, x3, x4, x5, x6)  =  U16_GA(x1, x2, x3, x6)
U17_GA(x1, x2, x3, x4, x5, x6)  =  U17_GA(x1, x2, x3, x6)

We have to consider all (P,R,Pi)-chains

Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES

(4) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

REVC_IN_GA(.(X1, .(X2, X3)), .(X4, X5)) → U11_GA(X1, X2, X3, X4, X5, rev1A_in_gga(X2, X3, X4))
REVC_IN_GA(.(X1, .(X2, X3)), .(X4, X5)) → REV1A_IN_GGA(X2, X3, X4)
REV1A_IN_GGA(X1, .(X2, X3), X4) → U1_GGA(X1, X2, X3, X4, rev1A_in_gga(X2, X3, X4))
REV1A_IN_GGA(X1, .(X2, X3), X4) → REV1A_IN_GGA(X2, X3, X4)
REVC_IN_GA(.(X1, .(X2, X3)), .(X4, X5)) → U12_GA(X1, X2, X3, X4, X5, rev1cA_in_gga(X2, X3, X4))
U12_GA(X1, X2, X3, X4, X5, rev1cA_out_gga(X2, X3, X4)) → U13_GA(X1, X2, X3, X4, X5, rev2B_in_gga(X2, X3, X6))
U12_GA(X1, X2, X3, X4, X5, rev1cA_out_gga(X2, X3, X4)) → REV2B_IN_GGA(X2, X3, X6)
REV2B_IN_GGA(X1, .(X2, X3), X4) → U2_GGA(X1, X2, X3, X4, rev2B_in_gga(X2, X3, X5))
REV2B_IN_GGA(X1, .(X2, X3), X4) → REV2B_IN_GGA(X2, X3, X5)
REV2B_IN_GGA(X1, .(X2, X3), X4) → U3_GGA(X1, X2, X3, X4, rev2cB_in_gga(X2, X3, X5))
U3_GGA(X1, X2, X3, X4, rev2cB_out_gga(X2, X3, X5)) → U4_GGA(X1, X2, X3, X4, revD_in_ga(X5, X6))
U3_GGA(X1, X2, X3, X4, rev2cB_out_gga(X2, X3, X5)) → REVD_IN_GA(X5, X6)
REVD_IN_GA(.(X1, X2), .(X3, X4)) → U8_GA(X1, X2, X3, X4, rev1E_in_gga(X1, X2, X3))
REVD_IN_GA(.(X1, X2), .(X3, X4)) → REV1E_IN_GGA(X1, X2, X3)
REV1E_IN_GGA(X1, .(X2, X3), X4) → U7_GGA(X1, X2, X3, X4, rev1E_in_gga(X2, X3, X4))
REV1E_IN_GGA(X1, .(X2, X3), X4) → REV1E_IN_GGA(X2, X3, X4)
REVD_IN_GA(.(X1, X2), .(X3, X4)) → U9_GA(X1, X2, X3, X4, rev1cE_in_gga(X1, X2, X3))
U9_GA(X1, X2, X3, X4, rev1cE_out_gga(X1, X2, X3)) → U10_GA(X1, X2, X3, X4, rev2B_in_gga(X1, X2, X4))
U9_GA(X1, X2, X3, X4, rev1cE_out_gga(X1, X2, X3)) → REV2B_IN_GGA(X1, X2, X4)
U3_GGA(X1, X2, X3, X4, rev2cB_out_gga(X2, X3, X5)) → U5_GGA(X1, X2, X3, X4, revcD_in_ga(X5, X6))
U5_GGA(X1, X2, X3, X4, revcD_out_ga(X5, X6)) → U6_GGA(X1, X2, X3, X4, revC_in_ga(.(X1, X6), X4))
U5_GGA(X1, X2, X3, X4, revcD_out_ga(X5, X6)) → REVC_IN_GA(.(X1, X6), X4)
U12_GA(X1, X2, X3, X4, X5, rev1cA_out_gga(X2, X3, X4)) → U14_GA(X1, X2, X3, X4, X5, rev2cB_in_gga(X2, X3, X6))
U14_GA(X1, X2, X3, X4, X5, rev2cB_out_gga(X2, X3, X6)) → U15_GA(X1, X2, X3, X4, X5, revD_in_ga(X6, X7))
U14_GA(X1, X2, X3, X4, X5, rev2cB_out_gga(X2, X3, X6)) → REVD_IN_GA(X6, X7)
U14_GA(X1, X2, X3, X4, X5, rev2cB_out_gga(X2, X3, X6)) → U16_GA(X1, X2, X3, X4, X5, revcD_in_ga(X6, X7))
U16_GA(X1, X2, X3, X4, X5, revcD_out_ga(X6, X7)) → U17_GA(X1, X2, X3, X4, X5, revC_in_ga(.(X1, X7), X5))
U16_GA(X1, X2, X3, X4, X5, revcD_out_ga(X6, X7)) → REVC_IN_GA(.(X1, X7), X5)

The TRS R consists of the following rules:

rev1cA_in_gga(X1, [], X1) → rev1cA_out_gga(X1, [], X1)
rev1cA_in_gga(X1, .(X2, X3), X4) → U19_gga(X1, X2, X3, X4, rev1cA_in_gga(X2, X3, X4))
U19_gga(X1, X2, X3, X4, rev1cA_out_gga(X2, X3, X4)) → rev1cA_out_gga(X1, .(X2, X3), X4)
rev2cB_in_gga(X1, [], []) → rev2cB_out_gga(X1, [], [])
rev2cB_in_gga(X1, .(X2, X3), X4) → U20_gga(X1, X2, X3, X4, rev2cB_in_gga(X2, X3, X5))
U20_gga(X1, X2, X3, X4, rev2cB_out_gga(X2, X3, X5)) → U21_gga(X1, X2, X3, X4, revcD_in_ga(X5, X6))
revcD_in_ga([], []) → revcD_out_ga([], [])
revcD_in_ga(.(X1, X2), .(X3, X4)) → U28_ga(X1, X2, X3, X4, rev1cE_in_gga(X1, X2, X3))
rev1cE_in_gga(X1, [], X1) → rev1cE_out_gga(X1, [], X1)
rev1cE_in_gga(X1, .(X2, X3), X4) → U27_gga(X1, X2, X3, X4, rev1cE_in_gga(X2, X3, X4))
U27_gga(X1, X2, X3, X4, rev1cE_out_gga(X2, X3, X4)) → rev1cE_out_gga(X1, .(X2, X3), X4)
U28_ga(X1, X2, X3, X4, rev1cE_out_gga(X1, X2, X3)) → U29_ga(X1, X2, X3, X4, rev2cB_in_gga(X1, X2, X4))
U29_ga(X1, X2, X3, X4, rev2cB_out_gga(X1, X2, X4)) → revcD_out_ga(.(X1, X2), .(X3, X4))
U21_gga(X1, X2, X3, X4, revcD_out_ga(X5, X6)) → U22_gga(X1, X2, X3, X4, revcC_in_ga(.(X1, X6), X4))
revcC_in_ga([], []) → revcC_out_ga([], [])
revcC_in_ga(.(X1, []), .(X1, [])) → revcC_out_ga(.(X1, []), .(X1, []))
revcC_in_ga(.(X1, .(X2, X3)), .(X4, X5)) → U23_ga(X1, X2, X3, X4, X5, rev1cA_in_gga(X2, X3, X4))
U23_ga(X1, X2, X3, X4, X5, rev1cA_out_gga(X2, X3, X4)) → U24_ga(X1, X2, X3, X4, X5, rev2cB_in_gga(X2, X3, X6))
U24_ga(X1, X2, X3, X4, X5, rev2cB_out_gga(X2, X3, X6)) → U25_ga(X1, X2, X3, X4, X5, revcD_in_ga(X6, X7))
U25_ga(X1, X2, X3, X4, X5, revcD_out_ga(X6, X7)) → U26_ga(X1, X2, X3, X4, X5, revcC_in_ga(.(X1, X7), X5))
U26_ga(X1, X2, X3, X4, X5, revcC_out_ga(.(X1, X7), X5)) → revcC_out_ga(.(X1, .(X2, X3)), .(X4, X5))
U22_gga(X1, X2, X3, X4, revcC_out_ga(.(X1, X6), X4)) → rev2cB_out_gga(X1, .(X2, X3), X4)

The argument filtering Pi contains the following mapping:
revC_in_ga(x1, x2)  =  revC_in_ga(x1)
.(x1, x2)  =  .(x1, x2)
rev1A_in_gga(x1, x2, x3)  =  rev1A_in_gga(x1, x2)
rev1cA_in_gga(x1, x2, x3)  =  rev1cA_in_gga(x1, x2)
[]  =  []
rev1cA_out_gga(x1, x2, x3)  =  rev1cA_out_gga(x1, x2, x3)
U19_gga(x1, x2, x3, x4, x5)  =  U19_gga(x1, x2, x3, x5)
rev2B_in_gga(x1, x2, x3)  =  rev2B_in_gga(x1, x2)
rev2cB_in_gga(x1, x2, x3)  =  rev2cB_in_gga(x1, x2)
rev2cB_out_gga(x1, x2, x3)  =  rev2cB_out_gga(x1, x2, x3)
U20_gga(x1, x2, x3, x4, x5)  =  U20_gga(x1, x2, x3, x5)
U21_gga(x1, x2, x3, x4, x5)  =  U21_gga(x1, x2, x3, x5)
revcD_in_ga(x1, x2)  =  revcD_in_ga(x1)
revcD_out_ga(x1, x2)  =  revcD_out_ga(x1, x2)
U28_ga(x1, x2, x3, x4, x5)  =  U28_ga(x1, x2, x5)
rev1cE_in_gga(x1, x2, x3)  =  rev1cE_in_gga(x1, x2)
rev1cE_out_gga(x1, x2, x3)  =  rev1cE_out_gga(x1, x2, x3)
U27_gga(x1, x2, x3, x4, x5)  =  U27_gga(x1, x2, x3, x5)
U29_ga(x1, x2, x3, x4, x5)  =  U29_ga(x1, x2, x3, x5)
U22_gga(x1, x2, x3, x4, x5)  =  U22_gga(x1, x2, x3, x5)
revcC_in_ga(x1, x2)  =  revcC_in_ga(x1)
revcC_out_ga(x1, x2)  =  revcC_out_ga(x1, x2)
U23_ga(x1, x2, x3, x4, x5, x6)  =  U23_ga(x1, x2, x3, x6)
U24_ga(x1, x2, x3, x4, x5, x6)  =  U24_ga(x1, x2, x3, x4, x6)
U25_ga(x1, x2, x3, x4, x5, x6)  =  U25_ga(x1, x2, x3, x4, x6)
U26_ga(x1, x2, x3, x4, x5, x6)  =  U26_ga(x1, x2, x3, x4, x6)
revD_in_ga(x1, x2)  =  revD_in_ga(x1)
rev1E_in_gga(x1, x2, x3)  =  rev1E_in_gga(x1, x2)
REVC_IN_GA(x1, x2)  =  REVC_IN_GA(x1)
U11_GA(x1, x2, x3, x4, x5, x6)  =  U11_GA(x1, x2, x3, x6)
REV1A_IN_GGA(x1, x2, x3)  =  REV1A_IN_GGA(x1, x2)
U1_GGA(x1, x2, x3, x4, x5)  =  U1_GGA(x1, x2, x3, x5)
U12_GA(x1, x2, x3, x4, x5, x6)  =  U12_GA(x1, x2, x3, x6)
U13_GA(x1, x2, x3, x4, x5, x6)  =  U13_GA(x1, x2, x3, x6)
REV2B_IN_GGA(x1, x2, x3)  =  REV2B_IN_GGA(x1, x2)
U2_GGA(x1, x2, x3, x4, x5)  =  U2_GGA(x1, x2, x3, x5)
U3_GGA(x1, x2, x3, x4, x5)  =  U3_GGA(x1, x2, x3, x5)
U4_GGA(x1, x2, x3, x4, x5)  =  U4_GGA(x1, x2, x3, x5)
REVD_IN_GA(x1, x2)  =  REVD_IN_GA(x1)
U8_GA(x1, x2, x3, x4, x5)  =  U8_GA(x1, x2, x5)
REV1E_IN_GGA(x1, x2, x3)  =  REV1E_IN_GGA(x1, x2)
U7_GGA(x1, x2, x3, x4, x5)  =  U7_GGA(x1, x2, x3, x5)
U9_GA(x1, x2, x3, x4, x5)  =  U9_GA(x1, x2, x5)
U10_GA(x1, x2, x3, x4, x5)  =  U10_GA(x1, x2, x5)
U5_GGA(x1, x2, x3, x4, x5)  =  U5_GGA(x1, x2, x3, x5)
U6_GGA(x1, x2, x3, x4, x5)  =  U6_GGA(x1, x2, x3, x5)
U14_GA(x1, x2, x3, x4, x5, x6)  =  U14_GA(x1, x2, x3, x6)
U15_GA(x1, x2, x3, x4, x5, x6)  =  U15_GA(x1, x2, x3, x6)
U16_GA(x1, x2, x3, x4, x5, x6)  =  U16_GA(x1, x2, x3, x6)
U17_GA(x1, x2, x3, x4, x5, x6)  =  U17_GA(x1, x2, x3, x6)

We have to consider all (P,R,Pi)-chains

(5) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 3 SCCs with 13 less nodes.

(6) Complex Obligation (AND)

(7) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

REV1E_IN_GGA(X1, .(X2, X3), X4) → REV1E_IN_GGA(X2, X3, X4)

The TRS R consists of the following rules:

rev1cA_in_gga(X1, [], X1) → rev1cA_out_gga(X1, [], X1)
rev1cA_in_gga(X1, .(X2, X3), X4) → U19_gga(X1, X2, X3, X4, rev1cA_in_gga(X2, X3, X4))
U19_gga(X1, X2, X3, X4, rev1cA_out_gga(X2, X3, X4)) → rev1cA_out_gga(X1, .(X2, X3), X4)
rev2cB_in_gga(X1, [], []) → rev2cB_out_gga(X1, [], [])
rev2cB_in_gga(X1, .(X2, X3), X4) → U20_gga(X1, X2, X3, X4, rev2cB_in_gga(X2, X3, X5))
U20_gga(X1, X2, X3, X4, rev2cB_out_gga(X2, X3, X5)) → U21_gga(X1, X2, X3, X4, revcD_in_ga(X5, X6))
revcD_in_ga([], []) → revcD_out_ga([], [])
revcD_in_ga(.(X1, X2), .(X3, X4)) → U28_ga(X1, X2, X3, X4, rev1cE_in_gga(X1, X2, X3))
rev1cE_in_gga(X1, [], X1) → rev1cE_out_gga(X1, [], X1)
rev1cE_in_gga(X1, .(X2, X3), X4) → U27_gga(X1, X2, X3, X4, rev1cE_in_gga(X2, X3, X4))
U27_gga(X1, X2, X3, X4, rev1cE_out_gga(X2, X3, X4)) → rev1cE_out_gga(X1, .(X2, X3), X4)
U28_ga(X1, X2, X3, X4, rev1cE_out_gga(X1, X2, X3)) → U29_ga(X1, X2, X3, X4, rev2cB_in_gga(X1, X2, X4))
U29_ga(X1, X2, X3, X4, rev2cB_out_gga(X1, X2, X4)) → revcD_out_ga(.(X1, X2), .(X3, X4))
U21_gga(X1, X2, X3, X4, revcD_out_ga(X5, X6)) → U22_gga(X1, X2, X3, X4, revcC_in_ga(.(X1, X6), X4))
revcC_in_ga([], []) → revcC_out_ga([], [])
revcC_in_ga(.(X1, []), .(X1, [])) → revcC_out_ga(.(X1, []), .(X1, []))
revcC_in_ga(.(X1, .(X2, X3)), .(X4, X5)) → U23_ga(X1, X2, X3, X4, X5, rev1cA_in_gga(X2, X3, X4))
U23_ga(X1, X2, X3, X4, X5, rev1cA_out_gga(X2, X3, X4)) → U24_ga(X1, X2, X3, X4, X5, rev2cB_in_gga(X2, X3, X6))
U24_ga(X1, X2, X3, X4, X5, rev2cB_out_gga(X2, X3, X6)) → U25_ga(X1, X2, X3, X4, X5, revcD_in_ga(X6, X7))
U25_ga(X1, X2, X3, X4, X5, revcD_out_ga(X6, X7)) → U26_ga(X1, X2, X3, X4, X5, revcC_in_ga(.(X1, X7), X5))
U26_ga(X1, X2, X3, X4, X5, revcC_out_ga(.(X1, X7), X5)) → revcC_out_ga(.(X1, .(X2, X3)), .(X4, X5))
U22_gga(X1, X2, X3, X4, revcC_out_ga(.(X1, X6), X4)) → rev2cB_out_gga(X1, .(X2, X3), X4)

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
rev1cA_in_gga(x1, x2, x3)  =  rev1cA_in_gga(x1, x2)
[]  =  []
rev1cA_out_gga(x1, x2, x3)  =  rev1cA_out_gga(x1, x2, x3)
U19_gga(x1, x2, x3, x4, x5)  =  U19_gga(x1, x2, x3, x5)
rev2cB_in_gga(x1, x2, x3)  =  rev2cB_in_gga(x1, x2)
rev2cB_out_gga(x1, x2, x3)  =  rev2cB_out_gga(x1, x2, x3)
U20_gga(x1, x2, x3, x4, x5)  =  U20_gga(x1, x2, x3, x5)
U21_gga(x1, x2, x3, x4, x5)  =  U21_gga(x1, x2, x3, x5)
revcD_in_ga(x1, x2)  =  revcD_in_ga(x1)
revcD_out_ga(x1, x2)  =  revcD_out_ga(x1, x2)
U28_ga(x1, x2, x3, x4, x5)  =  U28_ga(x1, x2, x5)
rev1cE_in_gga(x1, x2, x3)  =  rev1cE_in_gga(x1, x2)
rev1cE_out_gga(x1, x2, x3)  =  rev1cE_out_gga(x1, x2, x3)
U27_gga(x1, x2, x3, x4, x5)  =  U27_gga(x1, x2, x3, x5)
U29_ga(x1, x2, x3, x4, x5)  =  U29_ga(x1, x2, x3, x5)
U22_gga(x1, x2, x3, x4, x5)  =  U22_gga(x1, x2, x3, x5)
revcC_in_ga(x1, x2)  =  revcC_in_ga(x1)
revcC_out_ga(x1, x2)  =  revcC_out_ga(x1, x2)
U23_ga(x1, x2, x3, x4, x5, x6)  =  U23_ga(x1, x2, x3, x6)
U24_ga(x1, x2, x3, x4, x5, x6)  =  U24_ga(x1, x2, x3, x4, x6)
U25_ga(x1, x2, x3, x4, x5, x6)  =  U25_ga(x1, x2, x3, x4, x6)
U26_ga(x1, x2, x3, x4, x5, x6)  =  U26_ga(x1, x2, x3, x4, x6)
REV1E_IN_GGA(x1, x2, x3)  =  REV1E_IN_GGA(x1, x2)

We have to consider all (P,R,Pi)-chains

(8) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(9) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

REV1E_IN_GGA(X1, .(X2, X3), X4) → REV1E_IN_GGA(X2, X3, X4)

R is empty.
The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
REV1E_IN_GGA(x1, x2, x3)  =  REV1E_IN_GGA(x1, x2)

We have to consider all (P,R,Pi)-chains

(10) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(11) Obligation:

Q DP problem:
The TRS P consists of the following rules:

REV1E_IN_GGA(X1, .(X2, X3)) → REV1E_IN_GGA(X2, X3)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(12) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • REV1E_IN_GGA(X1, .(X2, X3)) → REV1E_IN_GGA(X2, X3)
    The graph contains the following edges 2 > 1, 2 > 2

(13) YES

(14) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

REV1A_IN_GGA(X1, .(X2, X3), X4) → REV1A_IN_GGA(X2, X3, X4)

The TRS R consists of the following rules:

rev1cA_in_gga(X1, [], X1) → rev1cA_out_gga(X1, [], X1)
rev1cA_in_gga(X1, .(X2, X3), X4) → U19_gga(X1, X2, X3, X4, rev1cA_in_gga(X2, X3, X4))
U19_gga(X1, X2, X3, X4, rev1cA_out_gga(X2, X3, X4)) → rev1cA_out_gga(X1, .(X2, X3), X4)
rev2cB_in_gga(X1, [], []) → rev2cB_out_gga(X1, [], [])
rev2cB_in_gga(X1, .(X2, X3), X4) → U20_gga(X1, X2, X3, X4, rev2cB_in_gga(X2, X3, X5))
U20_gga(X1, X2, X3, X4, rev2cB_out_gga(X2, X3, X5)) → U21_gga(X1, X2, X3, X4, revcD_in_ga(X5, X6))
revcD_in_ga([], []) → revcD_out_ga([], [])
revcD_in_ga(.(X1, X2), .(X3, X4)) → U28_ga(X1, X2, X3, X4, rev1cE_in_gga(X1, X2, X3))
rev1cE_in_gga(X1, [], X1) → rev1cE_out_gga(X1, [], X1)
rev1cE_in_gga(X1, .(X2, X3), X4) → U27_gga(X1, X2, X3, X4, rev1cE_in_gga(X2, X3, X4))
U27_gga(X1, X2, X3, X4, rev1cE_out_gga(X2, X3, X4)) → rev1cE_out_gga(X1, .(X2, X3), X4)
U28_ga(X1, X2, X3, X4, rev1cE_out_gga(X1, X2, X3)) → U29_ga(X1, X2, X3, X4, rev2cB_in_gga(X1, X2, X4))
U29_ga(X1, X2, X3, X4, rev2cB_out_gga(X1, X2, X4)) → revcD_out_ga(.(X1, X2), .(X3, X4))
U21_gga(X1, X2, X3, X4, revcD_out_ga(X5, X6)) → U22_gga(X1, X2, X3, X4, revcC_in_ga(.(X1, X6), X4))
revcC_in_ga([], []) → revcC_out_ga([], [])
revcC_in_ga(.(X1, []), .(X1, [])) → revcC_out_ga(.(X1, []), .(X1, []))
revcC_in_ga(.(X1, .(X2, X3)), .(X4, X5)) → U23_ga(X1, X2, X3, X4, X5, rev1cA_in_gga(X2, X3, X4))
U23_ga(X1, X2, X3, X4, X5, rev1cA_out_gga(X2, X3, X4)) → U24_ga(X1, X2, X3, X4, X5, rev2cB_in_gga(X2, X3, X6))
U24_ga(X1, X2, X3, X4, X5, rev2cB_out_gga(X2, X3, X6)) → U25_ga(X1, X2, X3, X4, X5, revcD_in_ga(X6, X7))
U25_ga(X1, X2, X3, X4, X5, revcD_out_ga(X6, X7)) → U26_ga(X1, X2, X3, X4, X5, revcC_in_ga(.(X1, X7), X5))
U26_ga(X1, X2, X3, X4, X5, revcC_out_ga(.(X1, X7), X5)) → revcC_out_ga(.(X1, .(X2, X3)), .(X4, X5))
U22_gga(X1, X2, X3, X4, revcC_out_ga(.(X1, X6), X4)) → rev2cB_out_gga(X1, .(X2, X3), X4)

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
rev1cA_in_gga(x1, x2, x3)  =  rev1cA_in_gga(x1, x2)
[]  =  []
rev1cA_out_gga(x1, x2, x3)  =  rev1cA_out_gga(x1, x2, x3)
U19_gga(x1, x2, x3, x4, x5)  =  U19_gga(x1, x2, x3, x5)
rev2cB_in_gga(x1, x2, x3)  =  rev2cB_in_gga(x1, x2)
rev2cB_out_gga(x1, x2, x3)  =  rev2cB_out_gga(x1, x2, x3)
U20_gga(x1, x2, x3, x4, x5)  =  U20_gga(x1, x2, x3, x5)
U21_gga(x1, x2, x3, x4, x5)  =  U21_gga(x1, x2, x3, x5)
revcD_in_ga(x1, x2)  =  revcD_in_ga(x1)
revcD_out_ga(x1, x2)  =  revcD_out_ga(x1, x2)
U28_ga(x1, x2, x3, x4, x5)  =  U28_ga(x1, x2, x5)
rev1cE_in_gga(x1, x2, x3)  =  rev1cE_in_gga(x1, x2)
rev1cE_out_gga(x1, x2, x3)  =  rev1cE_out_gga(x1, x2, x3)
U27_gga(x1, x2, x3, x4, x5)  =  U27_gga(x1, x2, x3, x5)
U29_ga(x1, x2, x3, x4, x5)  =  U29_ga(x1, x2, x3, x5)
U22_gga(x1, x2, x3, x4, x5)  =  U22_gga(x1, x2, x3, x5)
revcC_in_ga(x1, x2)  =  revcC_in_ga(x1)
revcC_out_ga(x1, x2)  =  revcC_out_ga(x1, x2)
U23_ga(x1, x2, x3, x4, x5, x6)  =  U23_ga(x1, x2, x3, x6)
U24_ga(x1, x2, x3, x4, x5, x6)  =  U24_ga(x1, x2, x3, x4, x6)
U25_ga(x1, x2, x3, x4, x5, x6)  =  U25_ga(x1, x2, x3, x4, x6)
U26_ga(x1, x2, x3, x4, x5, x6)  =  U26_ga(x1, x2, x3, x4, x6)
REV1A_IN_GGA(x1, x2, x3)  =  REV1A_IN_GGA(x1, x2)

We have to consider all (P,R,Pi)-chains

(15) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(16) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

REV1A_IN_GGA(X1, .(X2, X3), X4) → REV1A_IN_GGA(X2, X3, X4)

R is empty.
The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
REV1A_IN_GGA(x1, x2, x3)  =  REV1A_IN_GGA(x1, x2)

We have to consider all (P,R,Pi)-chains

(17) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(18) Obligation:

Q DP problem:
The TRS P consists of the following rules:

REV1A_IN_GGA(X1, .(X2, X3)) → REV1A_IN_GGA(X2, X3)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(19) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • REV1A_IN_GGA(X1, .(X2, X3)) → REV1A_IN_GGA(X2, X3)
    The graph contains the following edges 2 > 1, 2 > 2

(20) YES

(21) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

REVC_IN_GA(.(X1, .(X2, X3)), .(X4, X5)) → U12_GA(X1, X2, X3, X4, X5, rev1cA_in_gga(X2, X3, X4))
U12_GA(X1, X2, X3, X4, X5, rev1cA_out_gga(X2, X3, X4)) → REV2B_IN_GGA(X2, X3, X6)
REV2B_IN_GGA(X1, .(X2, X3), X4) → REV2B_IN_GGA(X2, X3, X5)
REV2B_IN_GGA(X1, .(X2, X3), X4) → U3_GGA(X1, X2, X3, X4, rev2cB_in_gga(X2, X3, X5))
U3_GGA(X1, X2, X3, X4, rev2cB_out_gga(X2, X3, X5)) → REVD_IN_GA(X5, X6)
REVD_IN_GA(.(X1, X2), .(X3, X4)) → U9_GA(X1, X2, X3, X4, rev1cE_in_gga(X1, X2, X3))
U9_GA(X1, X2, X3, X4, rev1cE_out_gga(X1, X2, X3)) → REV2B_IN_GGA(X1, X2, X4)
U3_GGA(X1, X2, X3, X4, rev2cB_out_gga(X2, X3, X5)) → U5_GGA(X1, X2, X3, X4, revcD_in_ga(X5, X6))
U5_GGA(X1, X2, X3, X4, revcD_out_ga(X5, X6)) → REVC_IN_GA(.(X1, X6), X4)
U12_GA(X1, X2, X3, X4, X5, rev1cA_out_gga(X2, X3, X4)) → U14_GA(X1, X2, X3, X4, X5, rev2cB_in_gga(X2, X3, X6))
U14_GA(X1, X2, X3, X4, X5, rev2cB_out_gga(X2, X3, X6)) → REVD_IN_GA(X6, X7)
U14_GA(X1, X2, X3, X4, X5, rev2cB_out_gga(X2, X3, X6)) → U16_GA(X1, X2, X3, X4, X5, revcD_in_ga(X6, X7))
U16_GA(X1, X2, X3, X4, X5, revcD_out_ga(X6, X7)) → REVC_IN_GA(.(X1, X7), X5)

The TRS R consists of the following rules:

rev1cA_in_gga(X1, [], X1) → rev1cA_out_gga(X1, [], X1)
rev1cA_in_gga(X1, .(X2, X3), X4) → U19_gga(X1, X2, X3, X4, rev1cA_in_gga(X2, X3, X4))
U19_gga(X1, X2, X3, X4, rev1cA_out_gga(X2, X3, X4)) → rev1cA_out_gga(X1, .(X2, X3), X4)
rev2cB_in_gga(X1, [], []) → rev2cB_out_gga(X1, [], [])
rev2cB_in_gga(X1, .(X2, X3), X4) → U20_gga(X1, X2, X3, X4, rev2cB_in_gga(X2, X3, X5))
U20_gga(X1, X2, X3, X4, rev2cB_out_gga(X2, X3, X5)) → U21_gga(X1, X2, X3, X4, revcD_in_ga(X5, X6))
revcD_in_ga([], []) → revcD_out_ga([], [])
revcD_in_ga(.(X1, X2), .(X3, X4)) → U28_ga(X1, X2, X3, X4, rev1cE_in_gga(X1, X2, X3))
rev1cE_in_gga(X1, [], X1) → rev1cE_out_gga(X1, [], X1)
rev1cE_in_gga(X1, .(X2, X3), X4) → U27_gga(X1, X2, X3, X4, rev1cE_in_gga(X2, X3, X4))
U27_gga(X1, X2, X3, X4, rev1cE_out_gga(X2, X3, X4)) → rev1cE_out_gga(X1, .(X2, X3), X4)
U28_ga(X1, X2, X3, X4, rev1cE_out_gga(X1, X2, X3)) → U29_ga(X1, X2, X3, X4, rev2cB_in_gga(X1, X2, X4))
U29_ga(X1, X2, X3, X4, rev2cB_out_gga(X1, X2, X4)) → revcD_out_ga(.(X1, X2), .(X3, X4))
U21_gga(X1, X2, X3, X4, revcD_out_ga(X5, X6)) → U22_gga(X1, X2, X3, X4, revcC_in_ga(.(X1, X6), X4))
revcC_in_ga([], []) → revcC_out_ga([], [])
revcC_in_ga(.(X1, []), .(X1, [])) → revcC_out_ga(.(X1, []), .(X1, []))
revcC_in_ga(.(X1, .(X2, X3)), .(X4, X5)) → U23_ga(X1, X2, X3, X4, X5, rev1cA_in_gga(X2, X3, X4))
U23_ga(X1, X2, X3, X4, X5, rev1cA_out_gga(X2, X3, X4)) → U24_ga(X1, X2, X3, X4, X5, rev2cB_in_gga(X2, X3, X6))
U24_ga(X1, X2, X3, X4, X5, rev2cB_out_gga(X2, X3, X6)) → U25_ga(X1, X2, X3, X4, X5, revcD_in_ga(X6, X7))
U25_ga(X1, X2, X3, X4, X5, revcD_out_ga(X6, X7)) → U26_ga(X1, X2, X3, X4, X5, revcC_in_ga(.(X1, X7), X5))
U26_ga(X1, X2, X3, X4, X5, revcC_out_ga(.(X1, X7), X5)) → revcC_out_ga(.(X1, .(X2, X3)), .(X4, X5))
U22_gga(X1, X2, X3, X4, revcC_out_ga(.(X1, X6), X4)) → rev2cB_out_gga(X1, .(X2, X3), X4)

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
rev1cA_in_gga(x1, x2, x3)  =  rev1cA_in_gga(x1, x2)
[]  =  []
rev1cA_out_gga(x1, x2, x3)  =  rev1cA_out_gga(x1, x2, x3)
U19_gga(x1, x2, x3, x4, x5)  =  U19_gga(x1, x2, x3, x5)
rev2cB_in_gga(x1, x2, x3)  =  rev2cB_in_gga(x1, x2)
rev2cB_out_gga(x1, x2, x3)  =  rev2cB_out_gga(x1, x2, x3)
U20_gga(x1, x2, x3, x4, x5)  =  U20_gga(x1, x2, x3, x5)
U21_gga(x1, x2, x3, x4, x5)  =  U21_gga(x1, x2, x3, x5)
revcD_in_ga(x1, x2)  =  revcD_in_ga(x1)
revcD_out_ga(x1, x2)  =  revcD_out_ga(x1, x2)
U28_ga(x1, x2, x3, x4, x5)  =  U28_ga(x1, x2, x5)
rev1cE_in_gga(x1, x2, x3)  =  rev1cE_in_gga(x1, x2)
rev1cE_out_gga(x1, x2, x3)  =  rev1cE_out_gga(x1, x2, x3)
U27_gga(x1, x2, x3, x4, x5)  =  U27_gga(x1, x2, x3, x5)
U29_ga(x1, x2, x3, x4, x5)  =  U29_ga(x1, x2, x3, x5)
U22_gga(x1, x2, x3, x4, x5)  =  U22_gga(x1, x2, x3, x5)
revcC_in_ga(x1, x2)  =  revcC_in_ga(x1)
revcC_out_ga(x1, x2)  =  revcC_out_ga(x1, x2)
U23_ga(x1, x2, x3, x4, x5, x6)  =  U23_ga(x1, x2, x3, x6)
U24_ga(x1, x2, x3, x4, x5, x6)  =  U24_ga(x1, x2, x3, x4, x6)
U25_ga(x1, x2, x3, x4, x5, x6)  =  U25_ga(x1, x2, x3, x4, x6)
U26_ga(x1, x2, x3, x4, x5, x6)  =  U26_ga(x1, x2, x3, x4, x6)
REVC_IN_GA(x1, x2)  =  REVC_IN_GA(x1)
U12_GA(x1, x2, x3, x4, x5, x6)  =  U12_GA(x1, x2, x3, x6)
REV2B_IN_GGA(x1, x2, x3)  =  REV2B_IN_GGA(x1, x2)
U3_GGA(x1, x2, x3, x4, x5)  =  U3_GGA(x1, x2, x3, x5)
REVD_IN_GA(x1, x2)  =  REVD_IN_GA(x1)
U9_GA(x1, x2, x3, x4, x5)  =  U9_GA(x1, x2, x5)
U5_GGA(x1, x2, x3, x4, x5)  =  U5_GGA(x1, x2, x3, x5)
U14_GA(x1, x2, x3, x4, x5, x6)  =  U14_GA(x1, x2, x3, x6)
U16_GA(x1, x2, x3, x4, x5, x6)  =  U16_GA(x1, x2, x3, x6)

We have to consider all (P,R,Pi)-chains

(22) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(23) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

REVC_IN_GA(.(X1, .(X2, X3)), .(X4, X5)) → U12_GA(X1, X2, X3, X4, X5, rev1cA_in_gga(X2, X3, X4))
U12_GA(X1, X2, X3, X4, X5, rev1cA_out_gga(X2, X3, X4)) → REV2B_IN_GGA(X2, X3, X6)
REV2B_IN_GGA(X1, .(X2, X3), X4) → REV2B_IN_GGA(X2, X3, X5)
REV2B_IN_GGA(X1, .(X2, X3), X4) → U3_GGA(X1, X2, X3, X4, rev2cB_in_gga(X2, X3, X5))
U3_GGA(X1, X2, X3, X4, rev2cB_out_gga(X2, X3, X5)) → REVD_IN_GA(X5, X6)
REVD_IN_GA(.(X1, X2), .(X3, X4)) → U9_GA(X1, X2, X3, X4, rev1cE_in_gga(X1, X2, X3))
U9_GA(X1, X2, X3, X4, rev1cE_out_gga(X1, X2, X3)) → REV2B_IN_GGA(X1, X2, X4)
U3_GGA(X1, X2, X3, X4, rev2cB_out_gga(X2, X3, X5)) → U5_GGA(X1, X2, X3, X4, revcD_in_ga(X5, X6))
U5_GGA(X1, X2, X3, X4, revcD_out_ga(X5, X6)) → REVC_IN_GA(.(X1, X6), X4)
U12_GA(X1, X2, X3, X4, X5, rev1cA_out_gga(X2, X3, X4)) → U14_GA(X1, X2, X3, X4, X5, rev2cB_in_gga(X2, X3, X6))
U14_GA(X1, X2, X3, X4, X5, rev2cB_out_gga(X2, X3, X6)) → REVD_IN_GA(X6, X7)
U14_GA(X1, X2, X3, X4, X5, rev2cB_out_gga(X2, X3, X6)) → U16_GA(X1, X2, X3, X4, X5, revcD_in_ga(X6, X7))
U16_GA(X1, X2, X3, X4, X5, revcD_out_ga(X6, X7)) → REVC_IN_GA(.(X1, X7), X5)

The TRS R consists of the following rules:

rev1cA_in_gga(X1, [], X1) → rev1cA_out_gga(X1, [], X1)
rev1cA_in_gga(X1, .(X2, X3), X4) → U19_gga(X1, X2, X3, X4, rev1cA_in_gga(X2, X3, X4))
rev2cB_in_gga(X1, [], []) → rev2cB_out_gga(X1, [], [])
rev2cB_in_gga(X1, .(X2, X3), X4) → U20_gga(X1, X2, X3, X4, rev2cB_in_gga(X2, X3, X5))
rev1cE_in_gga(X1, [], X1) → rev1cE_out_gga(X1, [], X1)
rev1cE_in_gga(X1, .(X2, X3), X4) → U27_gga(X1, X2, X3, X4, rev1cE_in_gga(X2, X3, X4))
revcD_in_ga([], []) → revcD_out_ga([], [])
revcD_in_ga(.(X1, X2), .(X3, X4)) → U28_ga(X1, X2, X3, X4, rev1cE_in_gga(X1, X2, X3))
U19_gga(X1, X2, X3, X4, rev1cA_out_gga(X2, X3, X4)) → rev1cA_out_gga(X1, .(X2, X3), X4)
U20_gga(X1, X2, X3, X4, rev2cB_out_gga(X2, X3, X5)) → U21_gga(X1, X2, X3, X4, revcD_in_ga(X5, X6))
U27_gga(X1, X2, X3, X4, rev1cE_out_gga(X2, X3, X4)) → rev1cE_out_gga(X1, .(X2, X3), X4)
U28_ga(X1, X2, X3, X4, rev1cE_out_gga(X1, X2, X3)) → U29_ga(X1, X2, X3, X4, rev2cB_in_gga(X1, X2, X4))
U21_gga(X1, X2, X3, X4, revcD_out_ga(X5, X6)) → U22_gga(X1, X2, X3, X4, revcC_in_ga(.(X1, X6), X4))
U29_ga(X1, X2, X3, X4, rev2cB_out_gga(X1, X2, X4)) → revcD_out_ga(.(X1, X2), .(X3, X4))
U22_gga(X1, X2, X3, X4, revcC_out_ga(.(X1, X6), X4)) → rev2cB_out_gga(X1, .(X2, X3), X4)
revcC_in_ga(.(X1, []), .(X1, [])) → revcC_out_ga(.(X1, []), .(X1, []))
revcC_in_ga(.(X1, .(X2, X3)), .(X4, X5)) → U23_ga(X1, X2, X3, X4, X5, rev1cA_in_gga(X2, X3, X4))
U23_ga(X1, X2, X3, X4, X5, rev1cA_out_gga(X2, X3, X4)) → U24_ga(X1, X2, X3, X4, X5, rev2cB_in_gga(X2, X3, X6))
U24_ga(X1, X2, X3, X4, X5, rev2cB_out_gga(X2, X3, X6)) → U25_ga(X1, X2, X3, X4, X5, revcD_in_ga(X6, X7))
U25_ga(X1, X2, X3, X4, X5, revcD_out_ga(X6, X7)) → U26_ga(X1, X2, X3, X4, X5, revcC_in_ga(.(X1, X7), X5))
U26_ga(X1, X2, X3, X4, X5, revcC_out_ga(.(X1, X7), X5)) → revcC_out_ga(.(X1, .(X2, X3)), .(X4, X5))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
rev1cA_in_gga(x1, x2, x3)  =  rev1cA_in_gga(x1, x2)
[]  =  []
rev1cA_out_gga(x1, x2, x3)  =  rev1cA_out_gga(x1, x2, x3)
U19_gga(x1, x2, x3, x4, x5)  =  U19_gga(x1, x2, x3, x5)
rev2cB_in_gga(x1, x2, x3)  =  rev2cB_in_gga(x1, x2)
rev2cB_out_gga(x1, x2, x3)  =  rev2cB_out_gga(x1, x2, x3)
U20_gga(x1, x2, x3, x4, x5)  =  U20_gga(x1, x2, x3, x5)
U21_gga(x1, x2, x3, x4, x5)  =  U21_gga(x1, x2, x3, x5)
revcD_in_ga(x1, x2)  =  revcD_in_ga(x1)
revcD_out_ga(x1, x2)  =  revcD_out_ga(x1, x2)
U28_ga(x1, x2, x3, x4, x5)  =  U28_ga(x1, x2, x5)
rev1cE_in_gga(x1, x2, x3)  =  rev1cE_in_gga(x1, x2)
rev1cE_out_gga(x1, x2, x3)  =  rev1cE_out_gga(x1, x2, x3)
U27_gga(x1, x2, x3, x4, x5)  =  U27_gga(x1, x2, x3, x5)
U29_ga(x1, x2, x3, x4, x5)  =  U29_ga(x1, x2, x3, x5)
U22_gga(x1, x2, x3, x4, x5)  =  U22_gga(x1, x2, x3, x5)
revcC_in_ga(x1, x2)  =  revcC_in_ga(x1)
revcC_out_ga(x1, x2)  =  revcC_out_ga(x1, x2)
U23_ga(x1, x2, x3, x4, x5, x6)  =  U23_ga(x1, x2, x3, x6)
U24_ga(x1, x2, x3, x4, x5, x6)  =  U24_ga(x1, x2, x3, x4, x6)
U25_ga(x1, x2, x3, x4, x5, x6)  =  U25_ga(x1, x2, x3, x4, x6)
U26_ga(x1, x2, x3, x4, x5, x6)  =  U26_ga(x1, x2, x3, x4, x6)
REVC_IN_GA(x1, x2)  =  REVC_IN_GA(x1)
U12_GA(x1, x2, x3, x4, x5, x6)  =  U12_GA(x1, x2, x3, x6)
REV2B_IN_GGA(x1, x2, x3)  =  REV2B_IN_GGA(x1, x2)
U3_GGA(x1, x2, x3, x4, x5)  =  U3_GGA(x1, x2, x3, x5)
REVD_IN_GA(x1, x2)  =  REVD_IN_GA(x1)
U9_GA(x1, x2, x3, x4, x5)  =  U9_GA(x1, x2, x5)
U5_GGA(x1, x2, x3, x4, x5)  =  U5_GGA(x1, x2, x3, x5)
U14_GA(x1, x2, x3, x4, x5, x6)  =  U14_GA(x1, x2, x3, x6)
U16_GA(x1, x2, x3, x4, x5, x6)  =  U16_GA(x1, x2, x3, x6)

We have to consider all (P,R,Pi)-chains

(24) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(25) Obligation:

Q DP problem:
The TRS P consists of the following rules:

REVC_IN_GA(.(X1, .(X2, X3))) → U12_GA(X1, X2, X3, rev1cA_in_gga(X2, X3))
U12_GA(X1, X2, X3, rev1cA_out_gga(X2, X3, X4)) → REV2B_IN_GGA(X2, X3)
REV2B_IN_GGA(X1, .(X2, X3)) → REV2B_IN_GGA(X2, X3)
REV2B_IN_GGA(X1, .(X2, X3)) → U3_GGA(X1, X2, X3, rev2cB_in_gga(X2, X3))
U3_GGA(X1, X2, X3, rev2cB_out_gga(X2, X3, X5)) → REVD_IN_GA(X5)
REVD_IN_GA(.(X1, X2)) → U9_GA(X1, X2, rev1cE_in_gga(X1, X2))
U9_GA(X1, X2, rev1cE_out_gga(X1, X2, X3)) → REV2B_IN_GGA(X1, X2)
U3_GGA(X1, X2, X3, rev2cB_out_gga(X2, X3, X5)) → U5_GGA(X1, X2, X3, revcD_in_ga(X5))
U5_GGA(X1, X2, X3, revcD_out_ga(X5, X6)) → REVC_IN_GA(.(X1, X6))
U12_GA(X1, X2, X3, rev1cA_out_gga(X2, X3, X4)) → U14_GA(X1, X2, X3, rev2cB_in_gga(X2, X3))
U14_GA(X1, X2, X3, rev2cB_out_gga(X2, X3, X6)) → REVD_IN_GA(X6)
U14_GA(X1, X2, X3, rev2cB_out_gga(X2, X3, X6)) → U16_GA(X1, X2, X3, revcD_in_ga(X6))
U16_GA(X1, X2, X3, revcD_out_ga(X6, X7)) → REVC_IN_GA(.(X1, X7))

The TRS R consists of the following rules:

rev1cA_in_gga(X1, []) → rev1cA_out_gga(X1, [], X1)
rev1cA_in_gga(X1, .(X2, X3)) → U19_gga(X1, X2, X3, rev1cA_in_gga(X2, X3))
rev2cB_in_gga(X1, []) → rev2cB_out_gga(X1, [], [])
rev2cB_in_gga(X1, .(X2, X3)) → U20_gga(X1, X2, X3, rev2cB_in_gga(X2, X3))
rev1cE_in_gga(X1, []) → rev1cE_out_gga(X1, [], X1)
rev1cE_in_gga(X1, .(X2, X3)) → U27_gga(X1, X2, X3, rev1cE_in_gga(X2, X3))
revcD_in_ga([]) → revcD_out_ga([], [])
revcD_in_ga(.(X1, X2)) → U28_ga(X1, X2, rev1cE_in_gga(X1, X2))
U19_gga(X1, X2, X3, rev1cA_out_gga(X2, X3, X4)) → rev1cA_out_gga(X1, .(X2, X3), X4)
U20_gga(X1, X2, X3, rev2cB_out_gga(X2, X3, X5)) → U21_gga(X1, X2, X3, revcD_in_ga(X5))
U27_gga(X1, X2, X3, rev1cE_out_gga(X2, X3, X4)) → rev1cE_out_gga(X1, .(X2, X3), X4)
U28_ga(X1, X2, rev1cE_out_gga(X1, X2, X3)) → U29_ga(X1, X2, X3, rev2cB_in_gga(X1, X2))
U21_gga(X1, X2, X3, revcD_out_ga(X5, X6)) → U22_gga(X1, X2, X3, revcC_in_ga(.(X1, X6)))
U29_ga(X1, X2, X3, rev2cB_out_gga(X1, X2, X4)) → revcD_out_ga(.(X1, X2), .(X3, X4))
U22_gga(X1, X2, X3, revcC_out_ga(.(X1, X6), X4)) → rev2cB_out_gga(X1, .(X2, X3), X4)
revcC_in_ga(.(X1, [])) → revcC_out_ga(.(X1, []), .(X1, []))
revcC_in_ga(.(X1, .(X2, X3))) → U23_ga(X1, X2, X3, rev1cA_in_gga(X2, X3))
U23_ga(X1, X2, X3, rev1cA_out_gga(X2, X3, X4)) → U24_ga(X1, X2, X3, X4, rev2cB_in_gga(X2, X3))
U24_ga(X1, X2, X3, X4, rev2cB_out_gga(X2, X3, X6)) → U25_ga(X1, X2, X3, X4, revcD_in_ga(X6))
U25_ga(X1, X2, X3, X4, revcD_out_ga(X6, X7)) → U26_ga(X1, X2, X3, X4, revcC_in_ga(.(X1, X7)))
U26_ga(X1, X2, X3, X4, revcC_out_ga(.(X1, X7), X5)) → revcC_out_ga(.(X1, .(X2, X3)), .(X4, X5))

The set Q consists of the following terms:

rev1cA_in_gga(x0, x1)
rev2cB_in_gga(x0, x1)
rev1cE_in_gga(x0, x1)
revcD_in_ga(x0)
U19_gga(x0, x1, x2, x3)
U20_gga(x0, x1, x2, x3)
U27_gga(x0, x1, x2, x3)
U28_ga(x0, x1, x2)
U21_gga(x0, x1, x2, x3)
U29_ga(x0, x1, x2, x3)
U22_gga(x0, x1, x2, x3)
revcC_in_ga(x0)
U23_ga(x0, x1, x2, x3)
U24_ga(x0, x1, x2, x3, x4)
U25_ga(x0, x1, x2, x3, x4)
U26_ga(x0, x1, x2, x3, x4)

We have to consider all (P,Q,R)-chains.

(26) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04,JAR06].


The following pairs can be oriented strictly and are deleted.


REVC_IN_GA(.(X1, .(X2, X3))) → U12_GA(X1, X2, X3, rev1cA_in_gga(X2, X3))
REV2B_IN_GGA(X1, .(X2, X3)) → REV2B_IN_GGA(X2, X3)
U3_GGA(X1, X2, X3, rev2cB_out_gga(X2, X3, X5)) → REVD_IN_GA(X5)
U3_GGA(X1, X2, X3, rev2cB_out_gga(X2, X3, X5)) → U5_GGA(X1, X2, X3, revcD_in_ga(X5))
U14_GA(X1, X2, X3, rev2cB_out_gga(X2, X3, X6)) → REVD_IN_GA(X6)
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(.(x1, x2)) = 1 + x2   
POL(REV2B_IN_GGA(x1, x2)) = 1 + x2   
POL(REVC_IN_GA(x1)) = x1   
POL(REVD_IN_GA(x1)) = x1   
POL(U12_GA(x1, x2, x3, x4)) = 1 + x3   
POL(U14_GA(x1, x2, x3, x4)) = x4   
POL(U16_GA(x1, x2, x3, x4)) = x4   
POL(U19_gga(x1, x2, x3, x4)) = 1   
POL(U20_gga(x1, x2, x3, x4)) = 1 + x4   
POL(U21_gga(x1, x2, x3, x4)) = 1 + x4   
POL(U22_gga(x1, x2, x3, x4)) = 1 + x4   
POL(U23_ga(x1, x2, x3, x4)) = 1 + x3 + x4   
POL(U24_ga(x1, x2, x3, x4, x5)) = 1 + x5   
POL(U25_ga(x1, x2, x3, x4, x5)) = 1 + x5   
POL(U26_ga(x1, x2, x3, x4, x5)) = 1 + x5   
POL(U27_gga(x1, x2, x3, x4)) = 1   
POL(U28_ga(x1, x2, x3)) = 1 + x2 + x3   
POL(U29_ga(x1, x2, x3, x4)) = 1 + x4   
POL(U3_GGA(x1, x2, x3, x4)) = 1 + x4   
POL(U5_GGA(x1, x2, x3, x4)) = x4   
POL(U9_GA(x1, x2, x3)) = 1 + x2   
POL([]) = 0   
POL(rev1cA_in_gga(x1, x2)) = 1   
POL(rev1cA_out_gga(x1, x2, x3)) = 1   
POL(rev1cE_in_gga(x1, x2)) = 1   
POL(rev1cE_out_gga(x1, x2, x3)) = 1   
POL(rev2cB_in_gga(x1, x2)) = 1 + x2   
POL(rev2cB_out_gga(x1, x2, x3)) = 1 + x3   
POL(revcC_in_ga(x1)) = x1   
POL(revcC_out_ga(x1, x2)) = x2   
POL(revcD_in_ga(x1)) = 1 + x1   
POL(revcD_out_ga(x1, x2)) = 1 + x2   

The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented:

rev1cA_in_gga(X1, []) → rev1cA_out_gga(X1, [], X1)
rev1cA_in_gga(X1, .(X2, X3)) → U19_gga(X1, X2, X3, rev1cA_in_gga(X2, X3))
rev2cB_in_gga(X1, []) → rev2cB_out_gga(X1, [], [])
rev2cB_in_gga(X1, .(X2, X3)) → U20_gga(X1, X2, X3, rev2cB_in_gga(X2, X3))
rev1cE_in_gga(X1, []) → rev1cE_out_gga(X1, [], X1)
rev1cE_in_gga(X1, .(X2, X3)) → U27_gga(X1, X2, X3, rev1cE_in_gga(X2, X3))
revcD_in_ga([]) → revcD_out_ga([], [])
revcD_in_ga(.(X1, X2)) → U28_ga(X1, X2, rev1cE_in_gga(X1, X2))
U23_ga(X1, X2, X3, rev1cA_out_gga(X2, X3, X4)) → U24_ga(X1, X2, X3, X4, rev2cB_in_gga(X2, X3))
U20_gga(X1, X2, X3, rev2cB_out_gga(X2, X3, X5)) → U21_gga(X1, X2, X3, revcD_in_ga(X5))
U28_ga(X1, X2, rev1cE_out_gga(X1, X2, X3)) → U29_ga(X1, X2, X3, rev2cB_in_gga(X1, X2))
U29_ga(X1, X2, X3, rev2cB_out_gga(X1, X2, X4)) → revcD_out_ga(.(X1, X2), .(X3, X4))
U21_gga(X1, X2, X3, revcD_out_ga(X5, X6)) → U22_gga(X1, X2, X3, revcC_in_ga(.(X1, X6)))
revcC_in_ga(.(X1, [])) → revcC_out_ga(.(X1, []), .(X1, []))
U22_gga(X1, X2, X3, revcC_out_ga(.(X1, X6), X4)) → rev2cB_out_gga(X1, .(X2, X3), X4)
revcC_in_ga(.(X1, .(X2, X3))) → U23_ga(X1, X2, X3, rev1cA_in_gga(X2, X3))
U24_ga(X1, X2, X3, X4, rev2cB_out_gga(X2, X3, X6)) → U25_ga(X1, X2, X3, X4, revcD_in_ga(X6))
U25_ga(X1, X2, X3, X4, revcD_out_ga(X6, X7)) → U26_ga(X1, X2, X3, X4, revcC_in_ga(.(X1, X7)))
U26_ga(X1, X2, X3, X4, revcC_out_ga(.(X1, X7), X5)) → revcC_out_ga(.(X1, .(X2, X3)), .(X4, X5))
U19_gga(X1, X2, X3, rev1cA_out_gga(X2, X3, X4)) → rev1cA_out_gga(X1, .(X2, X3), X4)
U27_gga(X1, X2, X3, rev1cE_out_gga(X2, X3, X4)) → rev1cE_out_gga(X1, .(X2, X3), X4)

(27) Obligation:

Q DP problem:
The TRS P consists of the following rules:

U12_GA(X1, X2, X3, rev1cA_out_gga(X2, X3, X4)) → REV2B_IN_GGA(X2, X3)
REV2B_IN_GGA(X1, .(X2, X3)) → U3_GGA(X1, X2, X3, rev2cB_in_gga(X2, X3))
REVD_IN_GA(.(X1, X2)) → U9_GA(X1, X2, rev1cE_in_gga(X1, X2))
U9_GA(X1, X2, rev1cE_out_gga(X1, X2, X3)) → REV2B_IN_GGA(X1, X2)
U5_GGA(X1, X2, X3, revcD_out_ga(X5, X6)) → REVC_IN_GA(.(X1, X6))
U12_GA(X1, X2, X3, rev1cA_out_gga(X2, X3, X4)) → U14_GA(X1, X2, X3, rev2cB_in_gga(X2, X3))
U14_GA(X1, X2, X3, rev2cB_out_gga(X2, X3, X6)) → U16_GA(X1, X2, X3, revcD_in_ga(X6))
U16_GA(X1, X2, X3, revcD_out_ga(X6, X7)) → REVC_IN_GA(.(X1, X7))

The TRS R consists of the following rules:

rev1cA_in_gga(X1, []) → rev1cA_out_gga(X1, [], X1)
rev1cA_in_gga(X1, .(X2, X3)) → U19_gga(X1, X2, X3, rev1cA_in_gga(X2, X3))
rev2cB_in_gga(X1, []) → rev2cB_out_gga(X1, [], [])
rev2cB_in_gga(X1, .(X2, X3)) → U20_gga(X1, X2, X3, rev2cB_in_gga(X2, X3))
rev1cE_in_gga(X1, []) → rev1cE_out_gga(X1, [], X1)
rev1cE_in_gga(X1, .(X2, X3)) → U27_gga(X1, X2, X3, rev1cE_in_gga(X2, X3))
revcD_in_ga([]) → revcD_out_ga([], [])
revcD_in_ga(.(X1, X2)) → U28_ga(X1, X2, rev1cE_in_gga(X1, X2))
U19_gga(X1, X2, X3, rev1cA_out_gga(X2, X3, X4)) → rev1cA_out_gga(X1, .(X2, X3), X4)
U20_gga(X1, X2, X3, rev2cB_out_gga(X2, X3, X5)) → U21_gga(X1, X2, X3, revcD_in_ga(X5))
U27_gga(X1, X2, X3, rev1cE_out_gga(X2, X3, X4)) → rev1cE_out_gga(X1, .(X2, X3), X4)
U28_ga(X1, X2, rev1cE_out_gga(X1, X2, X3)) → U29_ga(X1, X2, X3, rev2cB_in_gga(X1, X2))
U21_gga(X1, X2, X3, revcD_out_ga(X5, X6)) → U22_gga(X1, X2, X3, revcC_in_ga(.(X1, X6)))
U29_ga(X1, X2, X3, rev2cB_out_gga(X1, X2, X4)) → revcD_out_ga(.(X1, X2), .(X3, X4))
U22_gga(X1, X2, X3, revcC_out_ga(.(X1, X6), X4)) → rev2cB_out_gga(X1, .(X2, X3), X4)
revcC_in_ga(.(X1, [])) → revcC_out_ga(.(X1, []), .(X1, []))
revcC_in_ga(.(X1, .(X2, X3))) → U23_ga(X1, X2, X3, rev1cA_in_gga(X2, X3))
U23_ga(X1, X2, X3, rev1cA_out_gga(X2, X3, X4)) → U24_ga(X1, X2, X3, X4, rev2cB_in_gga(X2, X3))
U24_ga(X1, X2, X3, X4, rev2cB_out_gga(X2, X3, X6)) → U25_ga(X1, X2, X3, X4, revcD_in_ga(X6))
U25_ga(X1, X2, X3, X4, revcD_out_ga(X6, X7)) → U26_ga(X1, X2, X3, X4, revcC_in_ga(.(X1, X7)))
U26_ga(X1, X2, X3, X4, revcC_out_ga(.(X1, X7), X5)) → revcC_out_ga(.(X1, .(X2, X3)), .(X4, X5))

The set Q consists of the following terms:

rev1cA_in_gga(x0, x1)
rev2cB_in_gga(x0, x1)
rev1cE_in_gga(x0, x1)
revcD_in_ga(x0)
U19_gga(x0, x1, x2, x3)
U20_gga(x0, x1, x2, x3)
U27_gga(x0, x1, x2, x3)
U28_ga(x0, x1, x2)
U21_gga(x0, x1, x2, x3)
U29_ga(x0, x1, x2, x3)
U22_gga(x0, x1, x2, x3)
revcC_in_ga(x0)
U23_ga(x0, x1, x2, x3)
U24_ga(x0, x1, x2, x3, x4)
U25_ga(x0, x1, x2, x3, x4)
U26_ga(x0, x1, x2, x3, x4)

We have to consider all (P,Q,R)-chains.

(28) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 8 less nodes.

(29) TRUE